<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        
    </head>
    <body>
        <div id="test"></div>

        <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
        <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
        <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
        <script type="text/babel">
            // 创建类式组件
            class MyComponent extends React.Component{
                render(){
                    // render放在哪?  MyComponent的原型对象上,供实例使用
                    // render中的this是谁?  MyComponent的实例对象,MyComponent组件实例对象
                    console.log('render中的this',this);//MyComponent
                    return <h1>我是用类定义的组件(适用于复杂组件)</h1>
                }
            }
            // 渲染组件到页面
            ReactDOM.render(<MyComponent/>,document.getElementById("test"));
            /* 
                执行了ReactDOM.render(<MyComponent/>,document.getElementById('test'));  之后发生了什么?
                    1.React解析组件标签,找到了MyComponent组件
                    2.发现组件是使用类定义的,随后new出来该类的实例(MyComponent),并通过该实例调用到原型上的render方法
                    3.将render返回的虚拟DOM转为真是的DOM,随后呈现在页面中
            
            
            */
        </script>
    </body>
</html>